/*
 * SoapUI, Copyright (C) 2004-2017 SmartBear Software
 *
 * Licensed under the EUPL, Version 1.1 or - as soon as they will be approved by the European Commission - subsequent 
 * versions of the EUPL (the "Licence"); 
 * You may not use this work except in compliance with the Licence. 
 * You may obtain a copy of the Licence at: 
 * 
 * http://ec.europa.eu/idabc/eupl 
 * 
 * Unless required by applicable law or agreed to in writing, software distributed under the Licence is 
 * distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
 * express or implied. See the Licence for the specific language governing permissions and limitations 
 * under the Licence. 
 */

package com.eviware.soapui.plugins;

/**
 * Actions and factories that implements this interface will get a reference to the plugin itself when they are loaded
 * by PluginLoader. This is useful to access common components and shared state without having to resort to static
 * fields.
 * @see PluginLoader
 */
public interface PluginAware {

    /**
     * Setter used to pass a reference to the plugin into the plugin component class (action or factory)
     * @param plugin the Plugin class with which this class is associated
     */
    void setPlugin(Plugin plugin);
}
